/**
面向过程
面向对象	
	1.先整体，再局部
	2.先抽象，再具体
	3.能做什么，再怎么做
类是：共性产物，总和特征          类似（ 数组 与元素 的关系）
分类，类别
	1.属性（特征）
	2.方法（行为）
对象：个性产物，个性特征
###########
定义格式：
1.类
	class类名称{
		属性名称;
		返回值类型 方法名称(){}
	}
2.对象  一个对象大小 所有属性的字节数+隐性数据所占大小 +  引用数据类型 64 8字节
	类名称 对象名称=new 类名称();
	
	1.对象的2种状态
	1.new 一个  类型 对象=new 类型()  	对象.属性/方法() 
	2.匿名							new 类型().属性/方法()
	
访问属性或方法
	对象.属性;
	对象.方法();

########
对象内存分析
new 		开辟一个堆空间
对象2=对象1 	共用一个堆空间  对象2的堆空间 	 jvm虚拟机的GC程序自动回收

 
 ##########
1.new 关键字 创建一个对象
2.new 关键字 实例化对象
3.new 关键字 表示申请空间
4.没申请，初始化，释放掉对象空间 都会报 空指针异常 NULLPOINTEREXCEPTION
###
小结：
1.new 开辟堆空间 创建1个对象
2.大小 所有属性字节数+引用类型字节数（64位机 8字节）+隐性数据字节数
3.相同类型 可互相赋值
4.不同引用指向同一个对象，任何改变都会同步发生
5.不用的对象 尽早释放 对象=null
6.堆中对象没有被引用变量指向，会被回收 jvm的gc
*@author leo
*@company leo's company
*@description java_study
2024年2月2日下午6:03:53
Administrator
 */

/*
package com.leo.第四章_面向对象上;
public class U4_L1_面向对象基本概念_类与对象定义_对象与内存 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//Cat xiaohong=new Cat();
		//xiaohong.name="xiaohong";
		//xiaohong.age=2;
		//xiaohong.sex="female";
		//Cat xiaohuang=new Cat();
		//xiaohuang.name="xiaohuang";
		//xiaohuang.age=3;
		//xiaohuang.sex="male";
		////对象直接赋值 2个对象就等价 使用同一个堆空间 
		//xiaohuang=xiaohong;
		//System.out.println("xiaohong的信息: ");
		//xiaohong.run();
		//System.out.println("xiaohuang的信息: ");
		//xiaohuang.run();
		//xiaohuang.age=2323;
		//xiaohong.run();
		//xiaohuang.run();
		//new Cat().run();
		//xiaohong=null;
		//xiaohong.run();
		//xiaohuang=null;
		//xiaohuang.run();
	}

}
//类与对象的定义 实例
//class Cat{
//	String name;
//	int age;
//	String sex;
//	public String run() {
//		System.out.println(name+"是只"+age+"岁的小猫,经常喵喵喵!");
//		return 1+"信标";
//	}
//}
*/



